/*
 * 查询
 */
Ext.onReady(function() {

	Ext.QuickTips.init();
	var v_start = 0, v_limit = 20;

	// sysCompany 表单 Start
	// add表单
	var addForm = new Ext.FormPanel({
		layout : 'form',
		frame : true,
		labelWidth : 60,
		border : false,
		padding : '15 10 0 8',
		defaults : {
			anchor : '100%'
		},
		items : [ {
			xtype : 'textfield',
			name : 'docSubject',
			fieldLabel : '公司名称',
			allowBlank : false,
			maxLength : 20
		},{
			xtype : 'textfield',
			name : 'company',
			fieldLabel : '公司编号',
			allowBlank : false,
			maxLength : 20
		}, {
			xtype : 'hidden',
			name : 'docId'
		} ]
	});
	var fn_submit = function(next) {

		if (addForm.getForm().isValid()) {
			addForm.getForm().submit({
				url : i1510.contextPath + '/admin/sysCompany/save.do',
				success : function(form, rtn) {
					if (next) {
						addForm.getForm().reset();
					} else {
						addWin.hide();
					}
					// 刷新list
					listStore.reload();

				},
				failure : function(form, rtn) {
					Ext.Msg.alert('信息提示', '连接失败.' + rtn.result.message);
				},
				waitTitle : '提交',
				waitMsg : '正在保存数据，稍后...'
			});
		}
	}
	// 增加窗口
	var addWin = new Ext.Window({
		title : '新增/修改',
		width : 550,
		height : 370,
		closeAction : 'hide',
		modal : true,
		border : false,
		resizable : false,
		layout : 'fit',
		buttonAlign : 'center',
		items : [ addForm ],
		buttons : [ {
			text : '保存并新增',
			handler : function() {
				fn_submit(true);
			}
		}, {
			text : '保存',
			handler : function() {
				fn_submit(false);
			}
		}, {
			text : '取消',
			handler : function() {
				addWin.hide();
			}
		} ]
	});
	// sysCompany 表单 End

	// 查询表单
	var searchForm = new Ext.FormPanel({
		region : "north",
		height : 80,
		border : false,
		layout : "form",
		padding : "5 20 0 20",
		items : [ {
			xtype : "fieldset",
			title : "查询设置",
			padding : "0 20 0 15",
			items : [ {
				layout : "column",
				defaults : {
					xtype : "container",
					autoEl : "div",
					labelAlign : "right",
					layout : "form"
				},
				items : [ {
					items : [ {
						width : 180,
						labelWidth : 100,
						xtype : "textfield",
						name : "sDocSubject",
						fieldLabel : "公司名称"
					} ]
				}, {
					items : [ {
						width : 180,
						labelWidth : 100,
						xtype : "textfield",
						name : "sCompany",
						fieldLabel : "公司编码"
					} ]
				},{
					width : 250,
					items : [ {
						width : 75,
						xtype : "button",
						iconCls : "btn-list",
						text : "查询",
						handler : function() {
							var f = searchForm.getForm();
							if (f.isValid()) {
								listStore.load({
									params : f.getValues()
								});
							}
						}
					} ]
				} ]
			} ]
		} ]
	});
	// 数据映射
	var mapObj = [ {
		name : 'docId',
		type : 'string'
	}, {
		name : 'docSubject',
		type : 'string'
	}, {
		name : 'company',
		type : 'string'
	},{
		name : 'docCreateTime',
		type : 'string'
	}, {
		name : 'docLastTime',
		type : 'string'
	}, {
		name : 'docStatus',
		type : 'string'
	} ];

	// 列表数据
	var listStore = new Ext.data.JsonStore({
		url : i1510.contextPath + '/admin/sysCompany/listExt.do',
		root : 'root',
		totalProperty : 'total',
		fields : mapObj
	});
	// 在listStore执行前添加查询参数
	listStore.on('beforeload', function() {
		var f = searchForm.getForm();
		if (f.isValid()) {
			listStore.baseParams = f.getValues();
		}

	});
	// list 新增
	function fn_add() {
		addWin.show();
		addForm.getForm().reset();
	}
	// list 更新
	function fn_update() {
		var record = listGrid.getSelectionModel().getSelected();
		if (!record) {
			Ext.Msg.alert('信息提示', '请选择要修改的数据');
		} else {
			addWin.show();
			addForm.getForm().loadRecord(record);
		}
	}
	// list 删除
	function fn_del(varStatus) {
		var record = listGrid.getSelectionModel().getSelected();
		if (!record) {
			Ext.Msg.alert('信息提示', '请选择要修改的数据');
		} else {
			Ext.MessageBox.confirm('修改提示', '是否修改状态？', function(c) {
				if (c == 'yes') {
Ext.Ajax.request({
						url : i1510.contextPath
								+ '/admin/sysCompany/updateStatus.do',
						params : {
							docId : record.get("docId"),
							docStatus : varStatus
						},
						success : function() {
							listStore.reload();
						}
					});
				}
			});
		}
	}
	// 列表
	var listGrid = new Ext.grid.GridPanel({
		id : "listGrid",
		store : listStore,
		cm : new Ext.grid.ColumnModel({
			defaults : {
				menuDisabled : true
			},// 禁止表头菜单
			columns : [ {
				header : 'ID',
				sortable : true,
				dataIndex : 'docId',
				hidden : true
			}, {
				header : '公司名称',
				sortable : true,
				dataIndex : 'docSubject'
			}, {
				header : '公司编号',
				sortable : true,
				dataIndex : 'company'
			},{
				header : '创建时间',
				sortable : true,
				dataIndex : 'docCreateTime'
			}, {
				header : '修改时间',
				sortable : true,
				dataIndex : 'docLastTime'
			}, {
				header : '状态',
				sortable : true,
				dataIndex : 'docStatus',
				renderer : fn_docStatusExt
			} ]
		}),
		stripeRows : true, // 行分隔符
		columnLines : true, // 列分隔符
		loadMask : true, // 加载时的遮罩
		frame : true,
		height : 150,
		margins : "10 20 5 20",
		style : "border:1px solid",
		region : "center",
		listeners : {
			render : function() {
				var f = searchForm.getForm();
				if (f.isValid()) {
					listStore.load({
						params : f.getValues()
					});
				}
				// listStore.load({params:searchForm.getForm().getValues()});
			},
			rowdblclick : function() {
				fn_update();
			}
		},
		iconCls : 'menu-62',

		tbar : [ {
			text : '增加',
			iconCls : 'btn-add',
			handler : function() {
				fn_add();
			}
		}, '-', {
			text : '修改',
			iconCls : 'btn-edit',
			handler : function() {
				fn_update();
			}
		}, '-', {
			text : '激活',
			iconCls : 'clock',
			handler : function() {
				fn_del("10");
			}
		}, '-', {
			text : '删除',
			iconCls : 'btn-remove',
			handler : function() {
				fn_del("00");
			}
		} ],

		bbar : new Ext.PagingToolbar({
			pageSize : v_limit,
			store : listStore,
			displayInfo : true
		})
	});

	// 布局
	new Ext.Viewport({
		layout : "fit",
		items : [ {
			frame : true,
			title : "信息查询",
			iconCls : 'menu-24',
			layout : "border",
			items : [ searchForm, listGrid ]
		} ]
	});

});